package 炫彩元素类

import (
	xc "gitee.com/go_888/xcgui/xcgui/xc"
)

// X结构_形状直线 直线(形状对象).
type X结构_形状直线 struct {
	X结构_形状对象基类
}

// 形状线_创建.
//
// x1: 坐标.
//
// y1: 坐标.
//
// x2: 坐标.
//
// y2: 坐标.
//
// hParent: 父对象句柄.
func X创建形状直线(坐标x1, 坐标y1, 坐标x2, 坐标y2 int32, 父对象句柄 int) *X结构_形状直线 {
	p := &X结构_形状直线{}
	p.X设置句柄(xc.X形状直线_创建(坐标x1, 坐标y1, 坐标x2, 坐标y2, 父对象句柄))
	return p
}

// 从句柄创建对象.
func X创建形状直线并按句柄(句柄 int) *X结构_形状直线 {
	p := &X结构_形状直线{}
	p.X设置句柄(句柄)
	return p
}

// 从name创建对象, 失败返回nil.
func X创建形状直线并按名称(名称 string) *X结构_形状直线 {
	handle := xc.X取对象并按名称(名称)
	if handle > 0 {
		p := &X结构_形状直线{}
		p.X设置句柄(handle)
		return p
	}
	return nil
}

// 从UID创建对象, 失败返回nil.
func X创建形状直线并按UID(UID int32) *X结构_形状直线 {
	handle := xc.X取对象并按UID(UID)
	if handle > 0 {
		p := &X结构_形状直线{}
		p.X设置句柄(handle)
		return p
	}
	return nil
}

// 从UID名称创建对象, 失败返回nil.
func X创建形状直线并按UID名称(名称 string) *X结构_形状直线 {
	handle := xc.X取对象并按UID名称(名称)
	if handle > 0 {
		p := &X结构_形状直线{}
		p.X设置句柄(handle)
		return p
	}
	return nil
}

// 形状线_置位置.
//
// x1: 坐标.
//
// y1: 坐标.
//
// x2: 坐标.
//
// y2: 坐标.
func (s *X结构_形状直线) X设置位置(坐标x1, 坐标y1, 坐标x2, 坐标y2 int32) *X结构_形状直线 {
	xc.X形状直线_设置位置(s.X句柄, 坐标x1, 坐标y1, 坐标x2, 坐标y2)
	return s
}

// 形状线_置颜色, 设置直线颜色.
//
// color: xc.RGBA 颜色值.
func (s *X结构_形状直线) X设置颜色(ABGR颜色值 int) *X结构_形状直线 {
	xc.X形状直线_设置颜色(s.X句柄, ABGR颜色值)
	return s
}
